package nl.windgazer.arachne.services.externalsource;

import java.util.Collection;

public interface ManagedContent {

	/**
	 * A unique identifier for this piece of content.
	 * @return
	 */
	public String getUID();

	/**
	 * The raw html-content for this managed content.
	 * @return
	 */
	public String getContent();

	public void setContent(String content);

	/**
	 * A collection of uri's to stylesheets that need to be loaded for this content.
	 * @return
	 */
	public Collection<String> getStyles();

	/**
	 * A collection of uri's to scripts that need to be loaded for this content.
	 * @return
	 */
	public Collection<String> getScripts();

	/**
	 * A 'block' of styles that is typically loaded into the 'head' of an html-document.
	 * @return
	 */
	public String getStyleBlock();

	public void setStyleBlock(String style);

	/**
	 * A 'block' of script(s) that is typically loaded into the 'head' of an html-document.
	 * @return
	 */
	public String getScriptBlock();

	public void setScriptBlock(String script);

	/**
	 * The baseUrl to which any external links (scripts and stylesheets) should be appended.
	 * @return
	 */
	public String getBaseURL();

}
